// pages/myApplication/myApplication.js
var time= require("../../utils/util.js");
var app = getApp()
Page({

  /**
   * 页面的初始数据
   */
  data:{
    timeState:[],
    winHeight:"",//窗口高度
    currentTab:0, //预设当前项的值
    scrollLeft:0, //tab标题的滚动条位置
    getMyApplications:[],//参与的全部招募
    isShowAll:'block' ,//是否显示出来 none
    isShowNew:'none' ,//是否显示出来 none
    isShowHot: 'none',
    noMore:'none',
    recruitAllNum:0,//一共有的招募数
    dataArray:[],  
    totalDataCount:0,
    currentPage:0,
    },

    // 滚动切换标签样式
    switchTab:function(e){
      // console.log("触发了switchTab" , e)
      this.setData({
          currentTab:e.detail.current
      });
      this.checkCor();
      if(e.detail.current=='0'){  //全部
        this.setData({
          isShowAll:'block',
          isShowNew:'none',
          isShowHot:'none',
        })
      }else if(e.detail.current=='1'){  //最新
        this.setData({
          isShowAll:'none',
          isShowNew:'block',
          isShowHot:'none',
        })
      }else if(e.detail.current=='2'){    //最热
        this.setData({
          isShowAll:'none',
          isShowNew:'none',
          isShowHot:'block',
        })
      }else{  
        
      }
  },
  // 点击标题切换当前页时改变样式
  swichNav:function(e){
    // console.log("触发了swichNav+++++",e )
      var cur=e.target.dataset.current;
      if(this.data.currentTaB==cur){return false;}
      else{
          this.setData({
              currentTab:cur
          })
      }
      console.log('++++++id',e.target.dataset.current)
      if(e.target.dataset.current=='0'){  //全部
        this.setData({
          isShowAll:'block',
          isShowNew:'none',
          isShowHot:'none',
        })
      }else if(e.target.dataset.current=='1'){  //最新
        this.setData({
          isShowAll:'none',
          isShowNew:'block',
          isShowHot:'none',
        })
      }else{  // 最 热
        this.setData({
          isShowAll:'none',
          isShowNew:'none',
          isShowHot:'block',
        })
      }

  },
  //判断当前滚动超过一屏时，设置tab标题滚动条。
  checkCor:function(){
    if (this.data.currentTab>4){
      this.setData({
        scrollLeft:300
      })
    }else{
      this.setData({
        scrollLeft:0
      })
    }
  },
  // 首次加载数据
  loadInitData: function () {
    var that = this
    let timeState = []
    var currentPage = 0; // 因为数组下标是从0开始的，所以这里用了0
    console.log("加载第" + (currentPage+1) + "页");
    wx.showLoading({
      title: '加载中',
    })
    // 刷新时，清空dataArray，防止新数据与原数据冲突
    that.setData({
      dataArray: []
    })
    // 请封装自己的网络请求接口，这里作为示例就直接使用了wx.request.

    wx.cloud.callFunction({
      name:'recruit',
      data:{
        parameter:'pagingGetRecruits',
        MAX_LIMIT:8,        //一次返回最多MAX_LIMIT条数据
        i: currentPage,     //第几页
      },
      success: function (res) {
        wx.hideLoading();
        console.log(res)
        // var data = res.data; // 接口相应的json数据
        var articles = res.result.data; // 接口中的data对应了一个数组，这里取名为 articles
        for (let index = 0; index < articles.length; index++) {
          if( Date.parse(new Date())/1000-articles[index].endTime>0) {
            //  已结束
            timeState.push('已结束')
           }else{
            timeState.push('进行中')
           }
        }
        var totalDataCount = articles.length;
        console.log(articles);
        console.log("totalDataCount:"+totalDataCount);
        that.setData({
          ["dataArray["+currentPage+"]"]: articles,
          currentPage: currentPage,
          totalDataCount: totalDataCount,
          ["timeState["+currentPage+"]"]: timeState,
        })
        
      },
      fail: (msg) => {
        reject('请求失败',msg);
      }
    })
    console.log('首次数据',this.data.dataArray)
  },

  // 下拉 加载更多数据  直接绑定scroll-view 自带的下拉触发事件 bindscrolltolower
  loadMoreData: function () {
    console.log('触发了,滑到底部的事件')
    if(this.data.recruitAllNum<=this.data.totalDataCount){
      console.log('到底了')
      this.setData({
        noMore:'block',
      })
    }else{
      var that = this
      let timeState = []
      var currentPage = that.data.currentPage; // 获取当前页码
      currentPage += 1; // 加载当前页面的下一页数据
      var tips = "加载第" + (currentPage + 1) + "页";
      console.log("load page " + (currentPage + 1));
      wx.showLoading({
        title: tips,
      })
      wx.cloud.callFunction({
        name:'recruit',
        data:{
          parameter:'pagingGetRecruits',
          MAX_LIMIT:8,        //一次返回最多MAX_LIMIT条数据
          i: currentPage,     //第几页
        },
        success: function (res) {
          wx.hideLoading();
          var articles = res.result.data; // 接口中的data对应了一个数组，这里取名为 articles

          for (let index = 0; index < articles.length; index++) {
            if( Date.parse(new Date())/1000-articles[index].endTime>0) {
              //  已结束
              timeState.push('已结束')
            }else{
              timeState.push('进行中')
            }
          }

          // 计算当前共加载了多少条数据，来证明这种方式可以加载更多数据
          var totalDataCount = that.data.totalDataCount;
          totalDataCount = totalDataCount + articles.length;
          console.log("totalDataCount:" + totalDataCount);
          
          // 直接将新一页的数据添加到数组里
          that.setData({
            ["dataArray[" + currentPage + "]"]: articles,
            currentPage: currentPage,
            totalDataCount: totalDataCount,
            ["timeState["+currentPage+"]"]: timeState,
          })
        }
      })
      console.log('下拉刷新的数据',this.data.dataArray)
      }
  },

  goDetailsTap:function (e) {
    console.log(e)
    const id = e.currentTarget.dataset.id
    wx.navigateTo({
      url: '/pages/details/details?id='+id,
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    // 查询有多少招募数
    wx.cloud.callFunction({
      name:'recruit',
      data:{
        parameter:'getRecruitCount'
      }
    }).then(res=>{
      console.log('招募总数',res)
      this.setData({
        recruitAllNum:res.result.total
      })
      this.loadInitData()
    })
    // console.log('数据',this.data.joinRecruitAll)
    var that = this; 
        //  高度自适应
        wx.getSystemInfo( {  
            success: function( res ) {  
              var clientHeight=res.windowHeight,
                  clientWidth=res.windowWidth,
                  rpxR=750/clientWidth;
              var  calc=clientHeight*rpxR-180;
              console.log(calc)
              that.setData( {  
                  winHeight: calc  
              });  
            }  
        });
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
   
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})